According to Section 6.3.4.6.2 of IEEE Standard 802.16e (Institute for Electrical and Electronics Engineers Standard for Local and Metropolitan Area Networks, Part 16: Air Interface for Fixed Broadband Wireless Access Systems, including Amendment 2 and Corrigendum 1), during an ARQ Reset procedure, all service data units (SDUs) with ARQ blocks in a ‘discarded’ state are to be discarded by an ARQ transmitter and all other ARQ blocks retransmitted after the ARQ Reset procedure has completed.
From an ARQ transmitter's point of view, an ARQ block may be in one of the following four states: not-sent, outstanding, discarded, and waiting-for-retransmission. Any ARQ block begins in the ARQ transmitter as ‘not-sent.’ After it is sent by the ARQ transmitter, the ARQ block becomes ‘outstanding’ for a “retry-timeout” period of time. While a block is in the ‘outstanding’ state, it is either acknowledged (an ACK is received from the ARQ receiver) and ‘discarded’, or the block transitions to ‘waiting-for-retransmission’ after the retry-timeout expires or a NACK is received from the ARQ receiver. An ARQ block can transition from ‘waiting-for-retransmission’ to ‘discarded’ when an ACK message for it is received or after a “lifetime-timeout” period has expired.
If an ARQ transmitter and its ARQ receiver lose synchronization, either the ARQ transmitter or the ARQ receiver can initiate an ARQ Reset procedure to restore synchronization. According to FIG. 34 and FIG. 35 of IEEE Standard 802.16e, an ARQ transmitter discards SDUs with one or more blocks in the ‘discarded’ state during the ARQ Reset procedure. Then, SDUs that have no ARQ blocks in the discard state will be sent (or resent).
One consequence of this behavior is that ARQ blocks that were received by the ARQ receiver before the ARQ Reset procedure initiated may be resent after the ARQ Reset procedure is complete. In fact, ARQ blocks for a complete SDU may be resent in accordance with this procedure even when the complete SDU was already received by the ARQ receiver before the ARQ Reset procedure started. For example, all the ARQ blocks for an SDU can be in the ‘outstanding’ state because ACKs sent by the ARQ receiver were not received by the ARQ transmitter. Then, these ‘outstanding’ ARQ blocks will transition to ‘waiting-for-retransmission’ and be resent after the ARQ Reset procedure has completed. In this case, the ARQ receiver will assemble a duplicate SDU and pass it to the higher layer. Thus, the higher layer receives duplicate packets.
Some higher layer transport protocols, such as Transmission Control Protocol (TCP) and Real-time Transport Control Protocol (RTCP), use sequence numbers and will be able to detect and discard these duplicate packets. Other protocols, however, cannot easily detect and discard duplicate packets. For example, Robust Header Compression (ROHC) specifically requires that lower layers not generate duplicate packets.
Thus, there is an opportunity to prevent duplicate packets resulting from an ARQ Reset procedure. The various aspects, features and advantages of the disclosure will become more fully apparent to those having ordinary skill in the art upon careful consideration of the following Drawings and accompanying Detailed Description.